package com.huacai.collect.mapper;

import java.util.List;
import java.util.Map;

import com.huacai.collect.domain.Collect;
import io.lettuce.core.dynamic.annotation.Param;
import org.apache.ibatis.annotations.MapKey;

/**
 *  博客收藏 Mapper接口
 * 
 * @author zou
 * @date 2025-05-25
 */
public interface CollectMapper 
{
    /**
     * 查询 博客收藏 
     * 
     * @param collectId  博客收藏 主键
     * @return  博客收藏 
     */
    public Collect selectCollectByCollectId(String collectId);

    /**
     * 查询 博客收藏 列表
     * 
     * @param collect  博客收藏 
     * @return  博客收藏 集合
     */
    public List<Collect> selectCollectList(Collect collect);

    /**
     * 新增 博客收藏 
     * 
     * @param collect  博客收藏 
     * @return 结果
     */
    public int insertCollect(Collect collect);

    /**
     * 修改 博客收藏 
     * 
     * @param collect  博客收藏 
     * @return 结果
     */
    public int updateCollect(Collect collect);

    /**
     * 删除 博客收藏 
     * 
     * @param collectId  博客收藏 主键
     * @return 结果
     */
    public int deleteCollectByCollectId(String collectId);

    /**
     * 批量删除 博客收藏 
     * 
     * @param collectIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteCollectByCollectIds(String[] collectIds);

    /**
     * 根据博客ID查询某个博客被收藏的次数
     *
     * @param blogId
     * @return 结果
     */

    int selectCollectCount(@Param("blogId") String blogId);

    /**
     * 批量查询收藏数
     *
     */
    @MapKey("blogId")
    Map<String, Map<String,Object>> batchSelectCollectCount(@Param("blogIds") List<String> blogIds);
}
